<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<meta name="theme-color" content="#33474d">
	<title>Linux 命令- route | 失落的乐章</title>
	<link rel="stylesheet" href="/css/style.css" />
	
      <link rel="alternate" href="/atom.xml" title="失落的乐章" type="application/atom+xml">
    
</head>

<body>

	<header class="header">
		<nav class="header__nav">
			
				<a href="/archives" class="header__link">Archive</a>
			
				<a href="/tags" class="header__link">Tags</a>
			
				<a href="/atom.xml" class="header__link">RSS</a>
			
		</nav>
		<h1 class="header__title"><a href="/">失落的乐章</a></h1>
		<h2 class="header__subtitle">技术面前，永远都是学生。</h2>
	</header>

	<main>
		<article>
	
		<h1>Linux 命令- route</h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux命令/">Linux命令</a>
			</span>
		
	</div>

	

	
		<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux系统的route命令用于显示和操作IP路由表（show / manipulate the IP routing table）。要实现两个不同的子网之间的通信，需要一台连接两个网络的路由器，或者同时位于两个网络的网关来实现。在Linux系统中，设置路由通常是为了解决以下问题：该Linux系统在一个局域网中，局域网中有一个网关，能够让机器访问Internet，那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是，直接在命令行下执行route命令来添加路由，不会永久保存，当网卡重启或者机器重启之后，该路由就失效了；可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。</p>
<h2 id="1．命令格式"><a href="#1．命令格式" class="headerlink" title="1．命令格式"></a>1．命令格式</h2><figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [<span class="keyword">if</span> Interface]]</div></pre></td></tr></table></figure>
<h2 id="2．命令功能"><a href="#2．命令功能" class="headerlink" title="2．命令功能"></a>2．命令功能</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Route命令是用于操作基于内核ip路由表，它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口，如eth0。当使用”add”或者”del”参数时，路由表被修改，如果没有参数，则显示路由表当前的内容。</p>
<h2 id="3．命令参数"><a href="#3．命令参数" class="headerlink" title="3．命令参数"></a>3．命令参数</h2><ul>
<li>-c 显示更多信息</li>
<li>-n 不解析名字</li>
<li>-v 显示详细的处理信息</li>
<li>-F 显示发送信息</li>
<li>-C 显示路由缓存</li>
<li>-f 清除所有网关入口的路由表。 </li>
<li><p>-p 与 add 命令一起使用时使路由具有永久性。</p>
</li>
<li><p>add:添加一条新路由。</p>
</li>
<li>del:删除一条路由。</li>
<li>-net:目标地址是一个网络。</li>
<li>-host:目标地址是一个主机。</li>
<li>netmask:当添加一个网络路由时，需要使用网络掩码。</li>
<li>gw:路由数据包通过网关。注意，你指定的网关必须能够达到。</li>
<li>metric：设置路由跳数。</li>
<li>Command 指定您想运行的命令 (Add/Change/Delete/Print)。 </li>
<li>Destination 指定该路由的网络目标。 </li>
<li>mask Netmask 指定与网络目标相关的网络掩码（也被称作子网掩码）。 </li>
<li>Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。 </li>
<li>metric Metric 为路由指定一个整数成本值标（从 1 至 9999），当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。 </li>
<li>if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引，使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。</li>
</ul>
<h2 id="4．使用实例"><a href="#4．使用实例" class="headerlink" title="4．使用实例"></a>4．使用实例</h2><h3 id="实例1：显示当前路由"><a href="#实例1：显示当前路由" class="headerlink" title="实例1：显示当前路由"></a>实例1：显示当前路由</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">route</div><div class="line">route -n</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">e192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment"># route -n</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">0.0.0.0         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;第一行表示主机所在网络的地址为192.168.120.0，若数据传送目标是在本局域网内通信，则可直接通过eth0转发数据包;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;第四行表示数据传送目的是访问Internet，则由接口eth0，将数据包发送到网关192.168.120.240 </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;其中Flags为路由标志，标记当前网络节点的状态。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>Flags标志说明：</strong></p>
<ul>
<li>U Up表示此路由当前为启动状态</li>
<li>H Host，表示此网关为一主机</li>
<li>G Gateway，表示此网关为一路由器</li>
<li>R Reinstate Route，使用动态路由重新初始化的路由</li>
<li>D Dynamically,此路由是动态性地写入</li>
<li>M Modified，此路由是由路由守护程序或导向器动态修改</li>
<li>! 表示此路由当前为关闭状态</li>
</ul>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;备注：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;route -n (-n 表示不解析名字,列出速度会比route 快)</p>
<h3 id="实例2：添加网关-设置网关"><a href="#实例2：添加网关-设置网关" class="headerlink" title="实例2：添加网关/设置网关"></a>实例2：添加网关/设置网关</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">224.0.0.0       *               240.0.0.0       U     0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment">#</span></div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;增加一条 到达244.0.0.0的路由</p>
<h3 id="实例3：屏蔽一条路由"><a href="#实例3：屏蔽一条路由" class="headerlink" title="实例3：屏蔽一条路由"></a>实例3：屏蔽一条路由</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div></pre></td><td class="code"><pre><div class="line">route add -net 224.0.0.0 netmask 240.0.0.0 reject</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># route add -net 224.0.0.0 netmask 240.0.0.0 reject</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">224.0.0.0       -               240.0.0.0       !     0      -        0 -</div><div class="line">224.0.0.0       *               240.0.0.0       U     0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>说明</strong></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;增加一条屏蔽的路由，目的地址为 224.x.x.x 将被拒绝</p>
<h3 id="实例4：删除路由记录"><a href="#实例4：删除路由记录" class="headerlink" title="实例4：删除路由记录"></a>实例4：删除路由记录</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">route del -net 224.0.0.0 netmask 240.0.0.0</div><div class="line">route del -net 224.0.0.0 netmask 240.0.0.0 reject</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div><div class="line">17</div><div class="line">18</div><div class="line">19</div><div class="line">20</div><div class="line">21</div><div class="line">22</div><div class="line">23</div><div class="line">24</div><div class="line">25</div><div class="line">26</div><div class="line">27</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">224.0.0.0       -               240.0.0.0       !     0      -        0 -</div><div class="line">224.0.0.0       *               240.0.0.0       U     0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment"># route del -net 224.0.0.0 netmask 240.0.0.0</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">224.0.0.0       -               240.0.0.0       !     0      -        0 -</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment"># route del -net 224.0.0.0 netmask 240.0.0.0 reject</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment">#</span></div></pre></td></tr></table></figure>
<h3 id="实例5：删除和添加设置默认网关"><a href="#实例5：删除和添加设置默认网关" class="headerlink" title="实例5：删除和添加设置默认网关"></a>实例5：删除和添加设置默认网关</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>命令</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div></pre></td><td class="code"><pre><div class="line">route del default gw 192.168.120.240</div><div class="line">route add default gw 192.168.120.240</div></pre></td></tr></table></figure>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>输出</strong></p>
<figure class="highlight bash"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div><div class="line">7</div><div class="line">8</div><div class="line">9</div><div class="line">10</div><div class="line">11</div><div class="line">12</div><div class="line">13</div><div class="line">14</div><div class="line">15</div><div class="line">16</div></pre></td><td class="code"><pre><div class="line">[root@localhost ~]<span class="comment"># route del default gw 192.168.120.240</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment"># route add default gw 192.168.120.240</span></div><div class="line">[root@localhost ~]<span class="comment"># route</span></div><div class="line">Kernel IP routing table</div><div class="line">Destination     Gateway         Genmask         Flags Metric Ref    Use Iface</div><div class="line">192.168.120.0   *               255.255.255.0   U     0      0        0 eth0</div><div class="line">192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0</div><div class="line">10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0</div><div class="line">default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0</div><div class="line">[root@localhost ~]<span class="comment">#</span></div></pre></td></tr></table></figure>
	

	
		<span class="different-posts"><a href="/2017/10/12/2. Linux 命令/55. Linux 命令- route/" onclick="window.history.go(-1); return false;">⬅️ Go back </a></span>

	

</article>

	</main>

	<footer class="footer">
	<div class="footer-content">
		
	      <div class="footer__element">
	<p>Hi there, <br />welcome to my Blog glad you found it. Have a look around, will you?</p>
</div>

	    
	      <div class="footer__element">
	<h5>Check out</h5>
	<ul class="footer-links">
		<li class="footer-links__link"><a href="/archives">Archive</a></li>
		
		  <li class="footer-links__link"><a href="/atom.xml">RSS</a></li>
	    
		<li class="footer-links__link"><a href="/about">about page</a></li>
		<li class="footer-links__link"><a href="/tags">Tags</a></li>
		<li class="footer-links__link"><a href="/categories">Categories</a></li>
	</ul>
</div>

	    

		<div class="footer-credit">
			<span>© 2017 失落的乐章 | Powered by <a href="https://hexo.io/">Hexo</a> | Theme <a href="https://github.com/HoverBaum/meilidu-hexo">MeiliDu</a></span>
		</div>

	</div>


</footer>



</body>

</html>
